package be.telio.freeagent.model;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;

@XmlRootElement(name = "project")
public class FAProject implements FAEntity
{
    @XmlElement(name = "basecamp-id")
    private Integer basecampId;
    
    @XmlElement(name = "billing-basis")
    private Double billingBasis;
    
    @XmlElement(name = "budget")
    private Integer budget;
    
    @XmlElement(name = "budget-units")
    private String budgetUnits;
    
    @XmlElement(name = "contact-id")
    private Integer contactId;
    
    @XmlElement(name = "contract-po-reference")
    private String contractPoReference;
    
    @XmlElement(name = "created-at")
    private Date createdAt;
    
    @XmlElement(name = "currency")
    private String currency;
    
    @XmlElement(name = "ends-on")
    private Date endsOn;
    
    @XmlElement(name = "id")
    private Integer id;
    
    @XmlElement(name = "includ-unbilled-time-in-profitability")
    private Boolean includeUnbilledTimeInProfitability;
    
    @XmlElement(name = "is-ir35")
    private Boolean ir35;
    
    @XmlElement(name = "name")
    private String name;
    
    @XmlElement(name = "normal-billing-rate")
    private Double normalBillingRate;
    
    @XmlElement(name = "notes-count")
    private Integer notesCount;
    
    @XmlElement(name = "starts-on")
    private Date startsOn;
    
    @XmlElement(name = "status")
    private String status;

    @XmlElement(name = "updated-at")
    private Date updatedAt;
    
    @XmlElement(name = "uses-project-invoice-sequence")
    private Boolean usesProjectInvoiceSequence;

    public Integer getBasecampId()
    {
        return basecampId;
    }

    public Double getBillingBasis()
    {
        return billingBasis;
    }

    public Integer getBudget()
    {
        return budget;
    }

    public String getBudgetUnits()
    {
        return budgetUnits;
    }

    public Integer getContactId()
    {
        return contactId;
    }

    public String getContractPoReference()
    {
        return contractPoReference;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }

    public String getCurrency()
    {
        return currency;
    }

    public Date getEndsOn()
    {
        return endsOn;
    }

    public Integer getId()
    {
        return id;
    }

    public Boolean getIncludeUnbilledTimeInProfitability()
    {
        return includeUnbilledTimeInProfitability;
    }

    public Boolean getIr35()
    {
        return ir35;
    }

    public String getName()
    {
        return name;
    }

    public Double getNormalBillingRate()
    {
        return normalBillingRate;
    }

    public Integer getNotesCount()
    {
        return notesCount;
    }

    public Date getStartsOn()
    {
        return startsOn;
    }

    public String getStatus()
    {
        return status;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }

    public Boolean getUsesProjectInvoiceSequence()
    {
        return usesProjectInvoiceSequence;
    }

    public String getEntityListName()
    {
        return "project";
    }
}

